package com.service;

import com.qqcommon.Message;
import com.qqcommon.MessageType;

import java.io.IOException;
import java.io.ObjectOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;

/**
 * 该类用于处理发送消息,私聊/群聊消息发送
 */
public class MessageClientService {
    /**
     *
     * @param sender 发送消息的人
     * @param receive 接受消息的人
     * @param content 消息内容
     */
    public  void sendToOne(String sender,String receive,String content){
        //创建消息对象,设置消息内容
        Message message=new Message();
        message.setMesType(MessageType.MESSAGE_COMM_MES);//设置消息类型,普通信息包
        message.setSender(sender);
        message.setReceive(receive);
        message.setContent(content);
//        message.setSend_time(new Date().toString());//改下时间格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd\thh:mm ");
        message.setSend_time(sdf.format(new Date()));//改下时间格式

        //获取对象输出流
        try {
            ObjectOutputStream oos = new ObjectOutputStream(ManageClientConnectServerThread.getClientConnectServerThread(sender).getSocket().getOutputStream());
            oos.writeObject(message);//发送消息给服务端
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 该方法用来群发消息
     * @param sender 发送者
     * @param content 消息内容
     */
    public void sendToAll(String sender,String content){
        Message message=new Message();
        message.setMesType(MessageType.MESSAGE_TO_ALL_MES);
        message.setSender(sender);
        message.setContent(content);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd\thh:mm ");
        message.setSend_time(sdf.format(new Date()));//改下时间格式

        //接受者为所有人,所以将消息发送给服务端,交给服务端处理
        try {
            ObjectOutputStream oos=new ObjectOutputStream(ManageClientConnectServerThread.getClientConnectServerThread(sender).getSocket().getOutputStream());
            oos.writeObject(message);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }
}
